#include <iostream>
#include <algorithm>
#include <iostream>
#include <vector>
using namespace std;
typedef long long LL;
//枚举代数，分子，分母的可能性
const int N = 10;
int n, ans = 0;
int num[N];
bool used[N];
vector<int> li;

int calc(int i, int j)
{
    LL now = 0;
    for(int x = i; x <= j; ++x)
        now = now * 10 + li[x];
    return now;
}

void dfs(int now)
{
    if(now == 9)
    {
        // 计算是否符合带分数要求
        // 枚举两个指针
        // [1, i], [i + 1, j], [j + 1, 9]
        for(int i = 0; i <= 6; i++)
            for(int j = i + 1; j <= 7; j++)
            {
                int a = calc(0, i);
                int b = calc(i + 1, j);
                int c = calc(j + 1, 8);
                if((a * c + b) == (c * n))
                    ans++;
            }
        return;
    }
    for(int i = 1; i <= 9; i++)
        if(!used[i])
        {
            li.push_back(i);
            used[i] = true;
            dfs(now + 1);
            used[i] = false;
            li.pop_back();
        }
}


// 全排列函数：next_permutation(begin, end);

int main()
{
    cin >> n;
    // 如何枚举？利用dfs进行枚举
    // 先对9个数进行全排列，然后再利用三分的性质进行搜索
    for(int i = 1; i < 10; ++i)
        num[i] = i;
    dfs(0);
    cout << ans << endl;
    return 0;
    
}
